/**
 * 创建型模式
 *  提供了一种在创建对象的同时隐藏创建逻辑的方式（不是使用 new 运算符直接实例化对象），
 *  使得程序在判断针对某个给定实例需要创建哪些对象时更加灵活
 *  - 工厂模式 (Factory Pattern)    + 简单工厂模式
 *  - 抽象工厂模式 (Abstract Factory Pattern)
 *  - 单例模式 (Singleton Pattern)
 *  - 建造者模式 (Builder Pattern)
 *  - 原型模式 (Prototype Pattern)
 */
package com.samuel.designpatterns.creational;